﻿using System;
using System.Collections.Generic;
using Netkk.Common.Models;

namespace Netkk.Common.Interfaces.Services
{
    public interface IUserService
    {
        IEnumerable<User> ListAllUsers();
        IEnumerable<User> ListAllActiveUsers();
        User GetUserById(Guid id);
        User GetUserByEmail(string email);
        User GetUserByLogin(string username, string password);
        User GetUserByLoginName(string username);
        bool UserIsValid(Guid id);
        void DeleteUser(User user);
        bool SaveUser(User user);
        IEnumerable<User> ListAllActiveUsersWithPublicProfile();
        IEnumerable<User> ListAllActiveUsersWithNewsletter();
    }

}
